﻿Option Explicit On
Imports WisSensorNLibLib

Module Lector

    Dim DatosPeronasRegistradas(,) As String


    Dim hueya As New MI_hueya.mi_huella

    Private Sub CargaDatosPesonas()
        Dim Rs As ADODB.Recordset

        'traigo las hueyas, y dni de todas lersonas de la base
        Rs = Datos.TraerTodos("Trae_huella_y_dni", Nothing, "cargadatosPersonas_modulo lector")



        If Rs.RecordCount > 0 Then
            ReDim DatosPeronasRegistradas((Rs.RecordCount - 1), 1)

            Rs.MoveFirst()
            For I = 1 To Rs.RecordCount
                'hueya 
                DatosPeronasRegistradas(I - 1, 0) = Rs.Fields(0).Value.ToString
                'dni
                DatosPeronasRegistradas(I - 1, 1) = Rs.Fields(1).Value.ToString

                Rs.MoveNext()
            Next I


        Else

            'esto lo uso para despues verificar si hay datos o no cargados en el vector
            ReDim DatosPeronasRegistradas(0, 1)
            DatosPeronasRegistradas(0, 0) = ""
        End If

    End Sub
    Public Function IdentificaHUella_DevuelveDNI(CodHUeya As String) As String
        Dim I As Integer
        Dim m_sensor As New WisSensorN

        'esta funcion identifica a la persona sin realizar la captura de la huella 


        'valido si trajo algo
        If CodHUeya = "" Then
            IdentificaHUella_DevuelveDNI = ""
            Exit Function
        End If


        'cargo las huyeas y dni de la bas y las cargo en  el vector 
        CargaDatosPesonas()

        ' si no hay datos salgo 
        If DatosPeronasRegistradas(0, 0) = "" Then
            IdentificaHUella_DevuelveDNI = ""
            Exit Function
        End If
        '---------------------------------------


        '---------------------------------------
        'identifico el dni por la hueya
        m_sensor.Open()

        For I = LBound(DatosPeronasRegistradas) To UBound(DatosPeronasRegistradas)

            'busco la hueya en el vector (usando el algoritmo del lector

            '                      huyea del usuario, vect de hueya d la base

            If m_sensor.Verify(CodHUeya, DatosPeronasRegistradas(I, 0)) > 0 Then
                IdentificaHUella_DevuelveDNI = DatosPeronasRegistradas(I, 1)
                Exit Function
            End If
        Next I
        '-----------------------------------------------------

        m_sensor.Close()

        IdentificaHUella_DevuelveDNI = ""



    End Function
    Public Function IdentificaPersonas_DevuelveDNI() As String
        Dim CodHueya As String
        Dim I As Integer
        Dim m_sensor As New WisSensorN

        'esta funcion realiza la captura de la hueya y identifica al persona 



        'captura de la hueya------
        CodHueya = Dev_cod_de_hulla()
        '-----------------------------

        'valido si trajo algo
        If CodHueya = "" Then
            IdentificaPersonas_DevuelveDNI = ""
            Exit Function
        End If


        'cargo las huyeas y dni de la bas y las cargo en  el vector 
        CargaDatosPesonas()

        ' si no hay datos salgo 
        If DatosPeronasRegistradas(0, 0) = "" Then
            IdentificaPersonas_DevuelveDNI = ""
            Exit Function
        End If
        '---------------------------------------


        '---------------------------------------
        'identifico el dni por la hueya
        m_sensor.Open()

        For I = LBound(DatosPeronasRegistradas) To UBound(DatosPeronasRegistradas)

            'busco la hueya en el vector (usando el algoritmo del lector

            '                      huyea del usuario, vect de hueya d la base

            If m_sensor.Verify(CodHueya, DatosPeronasRegistradas(I, 0)) > 0 Then
                IdentificaPersonas_DevuelveDNI = DatosPeronasRegistradas(I, 1)
                Exit Function
            End If
        Next I
        '-----------------------------------------------------

        m_sensor.Close()

        IdentificaPersonas_DevuelveDNI = ""

    End Function



    Public Function Dev_cod_de_hulla() As String
        Dim I As Integer

        hueya.leerHuella()



        '------------espero a q lea---------
        Do
            I = I + 1

        Loop While (hueya.Dev_Cod_huella = "" And I < 200000)
        '------------------------------------



        If I >= 200000 Then
            hueya.Parar_caputara()
            Dev_cod_de_hulla = ""
        Else
            'si leyo devuelvo el codigo 
            Dev_cod_de_hulla = hueya.Dev_Cod_huella
        End If


        hueya.Cerrar()

    End Function

    Public Sub CargaHuella_EN_TExt(ByVal textBox As TextBox)


        textBox.Text = ""

        textBox.Text = Dev_cod_de_hulla()



    End Sub

End Module

